package com.xinqi.modules.stats.studyanalysis.mapper;

import com.xinqi.common.mybatis.data.repo.SuperMapper;
import com.xinqi.modules.stats.studyanalysis.domain.CourseStudentAnalysisEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 生成统计汇总信息
 * @author dzy
 */
@Mapper
public interface CourseStudentAnalysisMapper extends SuperMapper<CourseStudentAnalysisEntity> {

    /**
     * 清空已有的学生统计信息
     */
    boolean clearCourseStudentAnslysisList();

    /**
     * 根据班级清空 统计信息
     */
    boolean clearCourseStudentAnslysisListByClassId(@Param("classId") Long classId);

    /**
     * 重新生成学生统计信息
     */
    List<CourseStudentAnalysisEntity> courseStudentAnslysisList(@Param("classId") Long classId);

    /**
     * 重新生成互动课件学生统计信息
     */
    List<CourseStudentAnalysisEntity> courseStudentCourseWareAnalysisList(@Param("classId") Long classId);

    /**
     * 重新生成资料学生统计信息
     */
    List<CourseStudentAnalysisEntity> courseStudentDataAnalysisList(@Param("classId") Long classId);

    /**
     * 重新生成作业学生统计信息
     */
    List<CourseStudentAnalysisEntity> courseStudentHomeworkAnalysisList(@Param("classId") Long classId);

    /**
     * 重新生成测评学生统计信息
     */
    List<CourseStudentAnalysisEntity> courseStudentExamAnalysisList(@Param("classId") Long classId);

    /**
     * 重新生成讨论学生统计信息
     */
    List<CourseStudentAnalysisEntity> courseStudentDiscussAnalysisList(@Param("classId") Long classId);

    /**
     * 重新生成互动视频学生统计信息
     */
    List<CourseStudentAnalysisEntity> courseStudentVideoAnalysisList(@Param("classId") Long classId);

    /**
     * 重新生成公告学生统计信息
     */
    List<CourseStudentAnalysisEntity> courseStudentNoticeAnalysisList(@Param("classId") Long classId);

    /**
     * 重新生成考勤学生统计信息
     */
    List<CourseStudentAnalysisEntity> courseStudentAttendanceAnalysisList(@Param("classId") Long classId);


}
